$(document).ready(function(){

    /*
     * PANEL
     */
    $('#profil .close').live('click', function(){
        $('#content-profil').fadeOut(200);
        $('.person').removeClass('selected');
    });

    /*
     * TREE
     */
    var onDrag = false;
    $('#tree').draggable({
        start: function(e, ui){
            onDrag = true;
        },
        stop: function(e, ui){
            onDrag = false;
        }
    });

    /*
     * LOAD
     */
    $('#content-profil').fadeOut(0);
    $('.person').mouseup(function(){
        if(!onDrag)
        {
            var id = $(this).attr('rel');
            $('#content-profil').load(base + '/person/show/' + id, function(){
                $('#content-profil').fadeIn(200);
                $('.person').removeClass('selected');
                $('.person[rel='+id+']').addClass('selected');
            });
        }
    });


    /*
     * ACTIONS
     */
    $('#overlay').hide(0);
    $('.ajax-form a').live('click', function(e){
        e.preventDefault();
        var url = $(this).attr('href');
        $('#form').load(url, function(){
            $('#overlay').fadeIn(150);
        });
        return false;
    });


    /*
     * OVERLAY
     */
    $('#form .close').live('click', function(){
        $('#overlay').fadeOut(150, function(){
            $('#form').empty();
        });
    });


    /*
     * ADD EVENT IN FORM
     */
    $('.add-event').live('click', function(){
        var model = $('.event-form-model').html();
        var lastId = $('form .line.event').last().attr('rel');
        if(!lastId) lastId = 0;
        lastId++;
        model = model.replace(/{index}/g, lastId);
        $('#content-events').append(model);
    });


    /*
     * FORM VALIDATION
     */
    $('form').live('submit', function(){
        var valid = true;
        $(this).find('.require').removeClass('error').each(function(){
            if($(this).val() == '')
            {
                $(this).addClass('error');
                valid = false;
            }
        });
        return valid;
    })
});